# -*- coding: utf-8 -*-
#  结合GUI界面，开发一个简易照片处理软件---
#  简易版图片处理  --软件界面自行设计

 # 要求
 #  把涉及的功能定义成函数
 # 至少实现以下功能：
#  大小调整、裁剪、旋转、叠加图片
#  增强颜色、滤镜、增强图像等功能
#  简单应用
#  结合 Thinker 界面化处理
 #  类似功能可以用下拉控制条实现
 # 功能实现为主、美观度为辅

from PIL import Image
from PIL import ImageEnhance 
import tkinter as tk
from tkinter import ttk


def calc(event):
       a = float(t1.get())
       b = float(t2.get())
       dic = {0:a+b,1:a-b,2:a*b,3:a/b}
       c = dic[comb.current()]
       lbl.config(text=str(c))
       
root=tk.Tk()
root.title('图像界面')
#设置窗口大小
root.geometry('380x300')
#t1 = tk.Entry(root)
#t1.place(relx=0.1,rely=0.1,relwidth=0.2,relheight=0.1)

def old_imag():
    im = Image.open('girl.jpg')
    im.show()

#添加按钮
tk.Button(root,text='按钮',command=old_imag).pack()
text=tk.Text().pack()


var =tk.StringVar()
comb = ttk.Combobox(root,textvariable=var,values=['原图','灰度图','平滑处理','锐化处理',
            'RGB转HSI空间','滤波处理','缩略图','图像增强','调整garma值','颜色分层'])
comb.place(relx=0.1,rely=0.5,relwidth=0.2)#位置
comb.bind('<<ComboboxSelected>>',calc)
#
#lbl=tk.Label(root,text='结果')
#lbl.place(relx=0.5,rely=0.7,relwidth=0.2,relheight=0.3)
tk.mainloop()



#展示原图

#tk.Label(app,text='测试',command=old_imag).pack()


'''
print(type(im))
print(im.format,im.size,im.mode)

w,h = im.size

# 缩略图
im_copy = im.copy()
im_copy.save('a.jpg') # 复制、粘贴

im_copy.show()

im_a = Image.open('a.jpg')
im_a.thumbnail((w//10,h//10))
im_a.show()

#保存缩略图
im_a.save('sl_a.jpg')

# 调整大小 -- 等比例
im_size = im_a.resize((w//4,h//4))
im_size.show()

# 自由裁剪大小
box = (780,600,1200,1000)  # 截图的开始、结束坐标
region = im_copy.crop(box)
region.show()
region.save('cj_a.jpg')

# 水平旋转
im_copy.rotate(180).save('sz_a.jpg')

# 镜像翻转
im_copy.transpose(Image.FLIP_LEFT_RIGHT).save('jxzy_a.jpg')
im_copy.transpose(Image.FLIP_TOP_BOTTOM).save('jxsx_a.jpg')

# 叠加---添加logo、水印
im_log = Image.open('store.jpg')
lw,lh = im_log.size

im_log_copy = im_log.copy()
im_log_copy.thumbnail((lw//10,lh//10))

im_copy.paste(im_log_copy)
im_copy.show()
im_copy.save('tjsy_a.jpg')

## 高级功能

# 1、增强颜色


enh = ImageEnhance.Contrast(im_copy)
enh.enhance(1.5).show()  # 增强 50% 对比度

# 2、 平滑

# 3、 锐化

# 4、 颜色分层

# 5、 调整gamma值  --25页

# 6、 转换成灰度图

# 7、 （rgb\hsi)分割

# 8、 滤波处理（傅里叶变换）
'''

